/**
 * 
 * @param {string} url //请求地址
 * @param {object} params//请求参数 
 * @param {function} callback//回调函数 
 * @param {string} type //返回类型
 * @param {object} headers//自定义请求头 
 */
//1.写功能
//2.创建空函数
//3.将2放到1中
//4.微调
function get(url,params,callback,type,headers){
    //创建xhr对象
    const xhr = new XMLHttpRequest
    xhr.onreadystatechange=function(){
        if(xhr.readyState===4){
        if(xhr.status===200){
            //获取数据
            let res=xhr.responseText
            //判断数据类型
            if(type==='json'){res=JSON.parse(xhr.responseText)}
            callback(res)
        }else{
            console.log('失败原因',xhr.status)
        }
    }
    }
    let temp=[]
    for(let key in params){
        temp.push(`${key}=${params[key]}`)
    }
    xhr.open('get',`${url}?${temp.join('&')}`)
    for(let key in headers){
        xhr.setRequestHeader(key,headers[key])
    }

    xhr.send(null)
}
//-------------------------------------------------------分割线-----------------------------------------------------
/**
 * 
 * @param {string} url //请求地址
 * @param {object} params//请求参数 
 * @param {function} callback//回调函数 
 * @param {string} type //返回类型
 * @param {object} headers//自定义请求头 
 */
//1.写功能
//2.创建空函数
//3.将2放到1中
//4.微调

function post(url,params,callback,type,headers){
    const xhr=new XMLHttpRequest
xhr.onreadystatechange=function(){
    if(xhr.readyState===4){
        if(xhr.status===200){
           let res = xhr.responseText
           if(type==='json'){res=JSON.parse(xhr.responseText)}
           callback(res)
        }else{
            console.log('失败原因',xhr.status)
        }
    }
}
let temp=[]
for(let key in params){
    temp.push(`${key}=${params[key]}`)
}
xhr.open('post',url)
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
for(let key in headers){
    xhr.setRequestHeader(key,headers[key])
}

xhr.send(temp.join('&'))
}